package Menus

type MenusAttr func(model *MenusModel)

type MenusAttrs []MenusAttr

// 执行设置属性值的函数
func (attrFunc MenusAttrs) Apply(model *MenusModel) {
	for _,f := range attrFunc {
		f(model)
	}
}

func WithID(id int) MenusAttr {
	return func(model *MenusModel) { model.Id = id }
}

func WithName(name string) MenusAttr {
	return func(model *MenusModel) { model.Name = name }
}

func WithStatus(status uint8) MenusAttr {
	return func(model *MenusModel) { model.Status = status }
}

func WithCreateAt(createAt int) MenusAttr {
	return func(model *MenusModel) { model.CreateAt = createAt }
}

func WithUpdateAt(updateAt int) MenusAttr {
	return func(model *MenusModel) { model.UpdateAt = updateAt }
}
